export const summaryMixin = {
  data () {
    return{
      temp: {}
    }
   },
  methods: {
    mergeCellKey(text, array, columns){
      let i = 0;
      if (text !== this.temp[columns]) {
        this.temp[columns] = text
        array.forEach((item) => {
          if (item[columns] === this.temp[columns]) {
            i += 1
          }
        })
      }
      return i
     },
     renderContent(value, row, index){
      const obj = {
        children: value,
        attrs: {}
      }
      return obj
    },
     flattenArr(arr,isDel){ //二维对象数组扁平化
      let newArr = []
      if (arr.length > 0) {
        arr.map((item) => {
          !isDel && newArr.push(item)
          if (item.constructor === Object) {  //判断是不是对象
            for (let i in item) {
              if (Array.isArray(item[i]) && item[i].length > 0) {
                item[i].map((it) => {
                  newArr.push(it)
                })
                delete item[i]   //把子数组删除
              }
            }
          }
        })
      }
      return newArr
    },
    isEmpty(obj) {
      if ((typeof obj == 'undefined' || obj == null || obj == '' ) && obj!= 0) {
        return false
      } else {
        return true
      }
    },
    noValue(data,index,key){
       let res = null;
       if(key==='serial'){
        return res = index +1;
       }
       res = this.isEmpty(data)? data:'/';
       return res;
    },
     keyTwoArr(arr, str) {   //找出str相同的值，组成二维数组
      var _arr = [],
          _t = [],
          // 临时的变量
          _tmp;
   
      // 按照特定的参数将数组排序将具有相同值得排在一起
      arr = arr.sort(function(a, b) {
          var s = a[str],
              t = b[str];
   
          return s < t ? -1 : 1;
      });
   
      if ( arr.length ){
          _tmp = arr[0][str];
      }
      // console.log( arr );
      // 将相同类别的对象添加到统一个数组
      for (var i in arr) {
          if ( arr[i][str] === _tmp ){
              _t.push( arr[i] );
          } else {
              _tmp = arr[i][str];
              _arr.push( _t );
              _t = [arr[i]];
          }
      }
      // 将最后的内容推出新数组
      _arr.push( _t );
      return _arr;
  }
   
  }
}